GtkBorderImage *image = g_value_get_boxed (value);
parameter[0].name = "border-image-source";
- g_value_init (¶meter[0].value, CAIRO_GOBJECT_TYPE_PATTERN);
+
+ if ((image != NULL) &&
+ (image->source_gradient != NULL))
+ g_value_init (¶meter[0].value, GTK_TYPE_GRADIENT);
+ else
+ g_value_init (¶meter[0].value, CAIRO_GOBJECT_TYPE_PATTERN);
parameter[1].name = "border-image-slice";
g_value_init (¶meter[1].value, GTK_TYPE_BORDER);
if (image != NULL)
{
- g_value_set_boxed (¶meter[0].value, image->source);
+ if (image->source_gradient != NULL)
+ g_value_set_boxed (¶meter[0].value, image->source_gradient);
+ else
+ g_value_set_boxed (¶meter[0].value, image->source);
+
g_value_set_boxed (¶meter[1].value, &image->slice);
g_value_set_boxed (¶meter[2].value, &image->repeat);
g_value_set_boxed (¶meter[3].value, image->width);